home *** CD-ROM | disk | FTP | other *** search
/ Champak 141 / (Vol 141) Oct 17 2011.iso / Games / despereaux-swings.swf / scripts / Box2D / Dynamics / b2DebugDraw.as < prev    next >
Encoding:
Text File  |  2011-10-17  |  5.0 KB  |  138 lines

  1. package Box2D.Dynamics
  2. {
  3.    import Box2D.Collision.*;
  4.    import Box2D.Collision.Shapes.*;
  5.    import Box2D.Common.*;
  6.    import Box2D.Common.Math.*;
  7.    import Box2D.Dynamics.Contacts.*;
  8.    import flash.display.Sprite;
  9.    
  10.    public class b2DebugDraw
  11.    {
  12.       
  13.       public static var e_coreShapeBit:uint = 4;
  14.       
  15.       public static var e_shapeBit:uint = 1;
  16.       
  17.       public static var e_centerOfMassBit:uint = 64;
  18.       
  19.       public static var e_aabbBit:uint = 8;
  20.       
  21.       public static var e_obbBit:uint = 16;
  22.       
  23.       public static var e_pairBit:uint = 32;
  24.       
  25.       public static var e_jointBit:uint = 2;
  26.        
  27.       
  28.       public var m_xformScale:Number = 1;
  29.       
  30.       public var m_fillAlpha:Number = 1;
  31.       
  32.       public var m_alpha:Number = 1;
  33.       
  34.       public var m_lineThickness:Number = 1;
  35.       
  36.       public var m_drawFlags:uint;
  37.       
  38.       public var m_sprite:Sprite;
  39.       
  40.       public var m_drawScale:Number = 1;
  41.       
  42.       public function b2DebugDraw()
  43.       {
  44.          m_drawScale = 1;
  45.          m_lineThickness = 1;
  46.          m_alpha = 1;
  47.          m_fillAlpha = 1;
  48.          m_xformScale = 1;
  49.          super();
  50.          m_drawFlags = 0;
  51.       }
  52.       
  53.       public function DrawSolidPolygon(param1:Array, param2:int, param3:b2Color) : void
  54.       {
  55.          var _loc4_:int = 0;
  56.          m_sprite.graphics.lineStyle(m_lineThickness,param3.color,m_alpha);
  57.          m_sprite.graphics.moveTo(param1[0].x * m_drawScale,param1[0].y * m_drawScale);
  58.          m_sprite.graphics.beginFill(param3.color,m_fillAlpha);
  59.          _loc4_ = 1;
  60.          while(_loc4_ < param2)
  61.          {
  62.             m_sprite.graphics.lineTo(param1[_loc4_].x * m_drawScale,param1[_loc4_].y * m_drawScale);
  63.             _loc4_++;
  64.          }
  65.          m_sprite.graphics.lineTo(param1[0].x * m_drawScale,param1[0].y * m_drawScale);
  66.          m_sprite.graphics.endFill();
  67.       }
  68.       
  69.       public function DrawCircle(param1:b2Vec2, param2:Number, param3:b2Color) : void
  70.       {
  71.          m_sprite.graphics.lineStyle(m_lineThickness,param3.color,m_alpha);
  72.          m_sprite.graphics.drawCircle(param1.x * m_drawScale,param1.y * m_drawScale,param2 * m_drawScale);
  73.       }
  74.       
  75.       public function DrawXForm(param1:b2XForm) : void
  76.       {
  77.          m_sprite.graphics.lineStyle(m_lineThickness,16711680,m_alpha);
  78.          m_sprite.graphics.moveTo(param1.position.x * m_drawScale,param1.position.y * m_drawScale);
  79.          m_sprite.graphics.lineTo((param1.position.x + m_xformScale * param1.R.col1.x) * m_drawScale,(param1.position.y + m_xformScale * param1.R.col1.y) * m_drawScale);
  80.          m_sprite.graphics.lineStyle(m_lineThickness,65280,m_alpha);
  81.          m_sprite.graphics.moveTo(param1.position.x * m_drawScale,param1.position.y * m_drawScale);
  82.          m_sprite.graphics.lineTo((param1.position.x + m_xformScale * param1.R.col2.x) * m_drawScale,(param1.position.y + m_xformScale * param1.R.col2.y) * m_drawScale);
  83.       }
  84.       
  85.       public function ClearFlags(param1:uint) : void
  86.       {
  87.          m_drawFlags &= ~param1;
  88.       }
  89.       
  90.       public function DrawSolidCircle(param1:b2Vec2, param2:Number, param3:b2Vec2, param4:b2Color) : void
  91.       {
  92.          m_sprite.graphics.lineStyle(m_lineThickness,param4.color,m_alpha);
  93.          m_sprite.graphics.moveTo(0,0);
  94.          m_sprite.graphics.beginFill(param4.color,m_fillAlpha);
  95.          m_sprite.graphics.drawCircle(param1.x * m_drawScale,param1.y * m_drawScale,param2 * m_drawScale);
  96.          m_sprite.graphics.endFill();
  97.          m_sprite.graphics.moveTo(param1.x * m_drawScale,param1.y * m_drawScale);
  98.          m_sprite.graphics.lineTo((param1.x + param3.x * param2) * m_drawScale,(param1.y + param3.y * param2) * m_drawScale);
  99.       }
  100.       
  101.       public function SetFlags(param1:uint) : void
  102.       {
  103.          m_drawFlags = param1;
  104.       }
  105.       
  106.       public function AppendFlags(param1:uint) : void
  107.       {
  108.          m_drawFlags |= param1;
  109.       }
  110.       
  111.       public function DrawSegment(param1:b2Vec2, param2:b2Vec2, param3:b2Color) : void
  112.       {
  113.          m_sprite.graphics.lineStyle(m_lineThickness,param3.color,m_alpha);
  114.          m_sprite.graphics.moveTo(param1.x * m_drawScale,param1.y * m_drawScale);
  115.          m_sprite.graphics.lineTo(param2.x * m_drawScale,param2.y * m_drawScale);
  116.       }
  117.       
  118.       public function GetFlags() : uint
  119.       {
  120.          return m_drawFlags;
  121.       }
  122.       
  123.       public function DrawPolygon(param1:Array, param2:int, param3:b2Color) : void
  124.       {
  125.          var _loc4_:int = 0;
  126.          m_sprite.graphics.lineStyle(m_lineThickness,param3.color,m_alpha);
  127.          m_sprite.graphics.moveTo(param1[0].x * m_drawScale,param1[0].y * m_drawScale);
  128.          _loc4_ = 1;
  129.          while(_loc4_ < param2)
  130.          {
  131.             m_sprite.graphics.lineTo(param1[_loc4_].x * m_drawScale,param1[_loc4_].y * m_drawScale);
  132.             _loc4_++;
  133.          }
  134.          m_sprite.graphics.lineTo(param1[0].x * m_drawScale,param1[0].y * m_drawScale);
  135.       }
  136.    }
  137. }
  138.